/**
 * 
 */
package com.aasa.siccosap.bean;

import java.io.Serializable;
import java.util.List;

/**
 * @author franklin.bustos
 *
 */
public class CtaCteGCodCli implements Serializable{
	String strPb_fCodCli;	//CLIENTES.COD_CLI%TYPE, 
	String strPb_fRazSoc;	//CLIENTES.RAZ_SOC%TYPE, 
	String strPb_fRuc;	//CLIENTES.RUC%TYPE,
    Double dblPb_fTipoCambio;	//NUMBER,
    List<CuentaClienteSaplicacionDeuNotaCre> aobjPb_lstNotaCredito;	//CONSULTA_CTA_CTE_TIPOS_PKG.TT_TR_NOTA_CREDITO,
    List<CuentaClienteSaplicacionDeuSaldoFavor> aobjPb_lstSaldoFavor;	//CONSULTA_CTA_CTE_TIPOS_PKG.TT_TR_SALDO_FAVOR,
    List<CuentaClienteSaplicacionDeuSaldoPendiente> aobjPb_lstSaldoPendientes;	//CONSULTA_CTA_CTE_TIPOS_PKG.TT_TR_SALDO_PENDIENTE,
    List<CtaCteDocumentosDeuda> aobjPb_lstDocumentosDeuda;	//CONSULTA_CTA_CTE_TIPOS_PKG.TT_TR_DOCUMENTOS_DEUDA
    
    Double dblPb_saldoDocSoles = 0.0;
    Double dblPb_saldoDocDolares = 0.0;
    Double dblPb_saldoDocDP = 0.0;
    Double dblPb_saldoRealSoles = 0.0;
    Double dblPb_saldoRealDolares = 0.0;
    Double dblPb_saldoNCSoles = 0.0;
    Double dblPb_saldoNCDolares = 0.0;
    
    
	public CtaCteGCodCli() {
	}
    
	
	public CtaCteGCodCli(String codCli, String razSoc, String ruc,
			Double tipoCambio,
			List<CuentaClienteSaplicacionDeuNotaCre> lstNotaCredito,
			List<CuentaClienteSaplicacionDeuSaldoFavor> lstSaldoFavor,
			List<CuentaClienteSaplicacionDeuSaldoPendiente> lstSaldoPendientes,
			List<CtaCteDocumentosDeuda> lstDocumentosDeuda) {
		strPb_fCodCli = codCli;
		strPb_fRazSoc = razSoc;
		strPb_fRuc = ruc;
		dblPb_fTipoCambio = tipoCambio;
		this.aobjPb_lstNotaCredito = lstNotaCredito;
		this.aobjPb_lstSaldoFavor = lstSaldoFavor;
		this.aobjPb_lstSaldoPendientes = lstSaldoPendientes;
		this.aobjPb_lstDocumentosDeuda = lstDocumentosDeuda;
	}

	public String getStrPb_fCodCli() {
		return strPb_fCodCli;
	}

	public void setStrPb_fCodCli(String codCli) {
		strPb_fCodCli = codCli;
	}

	public String getStrPb_fRazSoc() {
		return strPb_fRazSoc;
	}

	
	public void setStrPb_fRazSoc(String razSoc) {
		strPb_fRazSoc = razSoc;
	}

	public String getStrPb_fRuc() {
		return strPb_fRuc;
	}

	public void setStrPb_fRuc(String ruc) {
		strPb_fRuc = ruc;
	}

	public Double getDblPb_fTipoCambio() {
		return dblPb_fTipoCambio;
	}

	public void setDblPb_fTipoCambio(Double tipoCambio) {
		dblPb_fTipoCambio = tipoCambio;
	}

	public List<CuentaClienteSaplicacionDeuNotaCre> getLstNotaCredito() {
		return aobjPb_lstNotaCredito;
	}

	public void setLstNotaCredito(
			List<CuentaClienteSaplicacionDeuNotaCre> aobjA_lstNotaCredito) {
		
		if (aobjA_lstNotaCredito!=null){
			Double dblL_sumasaldoNCSoles = 0.0;
			Double dblL_sumasaldoNCDolares = 0.0;
			for(CuentaClienteSaplicacionDeuNotaCre objL_CuentaClienteSaplicacionDeuNotaCre : aobjA_lstNotaCredito){
				dblL_sumasaldoNCSoles += objL_CuentaClienteSaplicacionDeuNotaCre.getDblPb_saldoNotaCreditoSoles();
				dblL_sumasaldoNCDolares += objL_CuentaClienteSaplicacionDeuNotaCre.getDblPb_saldoNotaCreditoDolares();
			}
			dblPb_saldoNCSoles = dblL_sumasaldoNCSoles;
			dblPb_saldoNCDolares = dblL_sumasaldoNCDolares;
		}
		
		this.aobjPb_lstNotaCredito = aobjA_lstNotaCredito;
	}

	public List<CuentaClienteSaplicacionDeuSaldoFavor> getLstSaldoFavor() {
		return aobjPb_lstSaldoFavor;
	}

	public void setLstSaldoFavor(
			List<CuentaClienteSaplicacionDeuSaldoFavor> aobjA_lstSaldoFavor) {
		
		Double dblL_sumasaldoFavorSoles = 0.0;
		Double dblL_sumasaldoFavorDolares = 0.0;
		if (aobjA_lstSaldoFavor!=null){
			for(CuentaClienteSaplicacionDeuSaldoFavor objL_CuentaClienteSaplicacionDeuSaldoFavor : aobjA_lstSaldoFavor){
				dblL_sumasaldoFavorSoles += objL_CuentaClienteSaplicacionDeuSaldoFavor.getDblPb_saldoSaldoFavorSoles();
				dblL_sumasaldoFavorDolares += objL_CuentaClienteSaplicacionDeuSaldoFavor.getDblPb_saldoSaldoFavorDolares();
			}
		}
		dblPb_saldoRealSoles = this.dblPb_saldoDocSoles - (this.dblPb_saldoNCSoles + dblL_sumasaldoFavorSoles);
		dblPb_saldoRealDolares = this.dblPb_saldoDocDolares - (this.dblPb_saldoNCDolares + dblL_sumasaldoFavorDolares);
		
		this.aobjPb_lstSaldoFavor = aobjA_lstSaldoFavor;
	}

	public List<CuentaClienteSaplicacionDeuSaldoPendiente> getLstSaldoPendientes() {
		return aobjPb_lstSaldoPendientes;
	}

	public void setLstSaldoPendientes(
			List<CuentaClienteSaplicacionDeuSaldoPendiente> lstSaldoPendientes) {
		this.aobjPb_lstSaldoPendientes = lstSaldoPendientes;
	}

	public List<CtaCteDocumentosDeuda> getLstDocumentosDeuda() {
		return aobjPb_lstDocumentosDeuda;
	}

	public void setLstDocumentosDeuda(List<CtaCteDocumentosDeuda> lstDocumentosDeuda) {
		
		if (lstDocumentosDeuda!=null){
			Double dblL_sumaSoles = 0.0;
			Double dblL_sumaDolares = 0.0;
			Double dblL_sumaDP = 0.0;
			for(CtaCteDocumentosDeuda objCtaCteDocumentosDeuda : lstDocumentosDeuda){
				dblL_sumaSoles += objCtaCteDocumentosDeuda.getDblPb_saldoDocumento();
				dblL_sumaDolares += objCtaCteDocumentosDeuda.getDblPb_saldoDolDocumento();
				dblL_sumaDP += objCtaCteDocumentosDeuda.getDblPb_cfDp();				
			}
			dblPb_saldoDocSoles = dblL_sumaSoles;
		    dblPb_saldoDocDolares = dblL_sumaDolares;
		    dblPb_saldoDocDP = dblL_sumaDP;		    
		}
		
		this.aobjPb_lstDocumentosDeuda = lstDocumentosDeuda;
	}

	public Double getDblPb_saldoDocSoles() {
		return dblPb_saldoDocSoles;
	}

	public void setDblPb_saldoDocSoles(Double saldoDocSoles) {
		this.dblPb_saldoDocSoles = saldoDocSoles;
	}

	public Double getDblPb_saldoDocDolares() {
		return dblPb_saldoDocDolares;
	}

	public void setDblPb_saldoDocDolares(Double saldoDocDolares) {
		this.dblPb_saldoDocDolares = saldoDocDolares;
	}

	public Double getDblPb_saldoDocDP() {
		return dblPb_saldoDocDP;
	}

	public void setDblPb_saldoDocDP(Double saldoDocDP) {
		this.dblPb_saldoDocDP = saldoDocDP;
	}

	public Double getDblPb_saldoRealSoles() {
		return dblPb_saldoRealSoles;
	}

	public void setDblPb_saldoRealSoles(Double saldoRealSoles) {
		this.dblPb_saldoRealSoles = saldoRealSoles;
	}

	public Double getDblPb_saldoRealDolares() {
		return dblPb_saldoRealDolares;
	}

	public void setDblPb_saldoRealDolares(Double saldoRealDolares) {
		this.dblPb_saldoRealDolares = saldoRealDolares;
	}

	public Double getDblPb_saldoNCSoles() {
		return dblPb_saldoNCSoles;
	}

	public void setDblPb_saldoNCSoles(Double saldoNCSoles) {
		this.dblPb_saldoNCSoles = saldoNCSoles;
	}

	public Double getDblPb_saldoNCDolares() {
		return dblPb_saldoNCDolares;
	}

	public void setDblPb_saldoNCDolares(Double saldoNCDolares) {
		this.dblPb_saldoNCDolares = saldoNCDolares;
	}
    
}
